package com.koron.css2.workflow.bean;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;

public class OverdueHistoryBean {

    private static final long serialVersionUID = -37669749665304327L;
    /**
     * 自增主键
     */
    private Integer id;
    /**
     * 流程id
     */
    private String processId;
    /**
     * 实例id
     */
    private String processInstanceId;
    /**
     * 流程节点编码，在流程中唯一
     */
    private String nodeCode;

    /**
     * 节点名称
     */
    private String nodeName;

    /**
     * 节点类型
     */
    private String nodeType;

    /**
     * 超期时间, 若作为参数，则表示延期时间，单位秒，作为参数时，可为负数，表示提前时间
     */
    private Integer overdueTime;

    /**
     * 任务开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    /**
     * 计划完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date predictTime;

    /**
     * 实际完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date factTime;

    /**
     * 被通知的方式
     */
    private Integer notifyWay;

    /**
     * 任务id
     */
    private String taskId;
    /**
     * 接收人id
     */
    private String operator;
    /**
     * 接收人名字
     */
    private String operatorName;
    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 是否超时 1 已超时 0 未超时
     */
    private Integer timeOut;

    /**
     * 是否延期 1 已延期 0 未延期
     */
    private Integer delayFlag;

    /**
     * 延期次数
     */
    private Integer delayCount;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getProcessId() {
        return processId;
    }

    public void setProcessId(String processId) {
        this.processId = processId;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getNodeCode() {
        return nodeCode;
    }

    public void setNodeCode(String nodeCode) {
        this.nodeCode = nodeCode;
    }

    public String getNodeName() {
        return nodeName;
    }

    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    public String getNodeType() {
        return nodeType;
    }

    public void setNodeType(String nodeType) {
        this.nodeType = nodeType;
    }

    public Integer getOverdueTime() {
        return overdueTime;
    }

    public void setOverdueTime(Integer overdueTime) {
        this.overdueTime = overdueTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getPredictTime() {
        return predictTime;
    }

    public void setPredictTime(Date predictTime) {
        this.predictTime = predictTime;
    }

    public Date getFactTime() {
        return factTime;
    }

    public void setFactTime(Date factTime) {
        this.factTime = factTime;
    }

    public Integer getNotifyWay() {
        return notifyWay;
    }

    public void setNotifyWay(Integer notifyWay) {
        this.notifyWay = notifyWay;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Integer getTimeOut() {
        return timeOut;
    }

    public void setTimeOut(Integer timeOut) {
        this.timeOut = timeOut;
    }

    public Integer getDelayFlag() {
        return delayFlag;
    }

    public void setDelayFlag(Integer delayFlag) {
        this.delayFlag = delayFlag;
    }

    public Integer getDelayCount() {
        return delayCount;
    }

    public void setDelayCount(Integer delayCount) {
        this.delayCount = delayCount;
    }
}
